// 引入express
const express = require('express');

// 执行express,返回一个对象
const app = express()

// 变量假装是数据库
let tempUser = [
    {
        username: 'abcdef',
        password: '123456'
    }
]

// 给对象根据路径分发请求  --   request  response
app.get('/register', (req, res) => {
    // 获取get请求参数
    let { username, password } = req.query
    // console.log(username,password);

    // 对参数进行正则校验 -- 用户名6个字符，密码6个数字
    if (!/^\w{6}$/.test(username)) return res.send({ message: '注册失败!用户名不符合要求!', status: 204 })
    if (!/^\d{6}$/.test(password)) return res.send({ message: '注册失败!密码不符合要求!', status: 204 })

    // 业务逻辑 -- 判断username是否已存在
    if (tempUser.some(item => item.username === username)) { return res.send({ message: '注册失败!用户名已存在!', status: 204 }) }

    // 将当前数据存到'数据库'中
    tempUser.push({
        // username:username,
        // password:password
        username, password
    })

    // console.log(tempUser)

    // 使用res.send()方法给前台响应值
    res.send({ message: '注册成功!', status: 200 })
})

// 登陆
app.get('/login', (req, res) => {
    // 获取get请求参数
    let { username, password } = req.query
    console.log('11111');
    

    // 对参数进行正则校验 -- 用户名6个字符，密码6个数字
    if (!/^\w{6}$/.test(username)) return res.send({ message: '用户名不符合要求!', status: 204 })
    if (!/^\d{6}$/.test(password)) return res.send({ message: '密码不符合要求!', status: 204 })

    // 查找数据库中的用户
    let user = tempUser.find(item => item.username === username);

    // 验证用户名是否存在
    if (!user) {
        return sendErrorResponse(res, '登录失败! 用户名不存在!', 204);
    }

    // 验证密码是否正确
    if (user.password !== password) {
        return sendErrorResponse(res, '登录失败! 密码错误!', 204);
    }

    // 使用res.send()方法给前台响应值
    res.send({ message: '登录成功!', status: 200 })
})

// 给服务器设置监听端口--占用某个端口
app.listen(3000, () => {
    console.log('3000端口服务已启用!!')
})